package com.smartcar.common.utils.md5;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Md5 {

    /**
     * Md5加密字符串
     */
    public static String encryptMD5(String originalString) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(originalString.getBytes());
            byte[] digest = md.digest();

            // 转换为十六进制字符串
            StringBuilder sb = new StringBuilder();
            for (byte b : digest) {
                sb.append(String.format("%02x", b & 0xff));
            }
            return sb.toString();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            return null;
        }
    }

    /**
     * 验证MD5加密后的字符串
     * 第一个参数用户输入（未加密）
     * 第二个参数数据库查询出的（已加密）
     */
    public static boolean verifyMD5(String originalString, String encryptedString) {
        String encryptedOriginalString = encryptMD5(originalString);
        return encryptedString.equals(encryptedOriginalString);
    }
}
